# encoding：utf-8
# @File   : setupLogger.py
# @Author : 乖孩子
# @Date   : 2025-05-08 10-33-06
import logging
import os.path
import datetime
import time
from config.config import LOG_FILE_PATH


def setup_logging(log_dir):
    # 获取当前日期
    current_date = time.strftime("%Y-%m-%d")
    # 拼接日期文件夹路径
    date_dir = os.path.join(log_dir, current_date)
    # 如果日期文件夹不存在，则创建
    if not os.path.exists(date_dir):
        os.makedirs(date_dir)
    # 获取当前精确到秒的时间
    current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
    # 拼接日志文件路径
    log_file = os.path.join(date_dir, f"{current_time}.log")

    # 创建日志记录器对象
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.DEBUG)

    # 创建文件处理器并设置格式
    file_handler = logging.FileHandler(log_file, encoding='utf-8')
    file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
    logger.addHandler(file_handler)

    # 创建流处理器并设置格式
    stream_handler = logging.StreamHandler()
    stream_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
    logger.addHandler(stream_handler)

    return logger


# 示例使用
if __name__ == "__main__":
    # 指定日志文件夹的生成目录
    logger = setup_logging(LOG_FILE_PATH)

    # 模拟接口测试步骤
    logger.info("开始接口测试")
    try:
        # 这里可以添加接口请求代码
        # 例如：response = requests.get(url)
        logger.info("接口请求成功")
    except Exception as e:
        logger.error(f"接口请求失败: {e}")
    logger.info("接口测试结束")
